import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_syt/generated/l10n.dart';
import 'package:flutter_syt/global_common.dart';
import 'package:flutter_syt/widgets/web_protocol.dart';

import '/theme/theme_color.dart';

class LoginProtocol extends StatefulWidget {
  final ValueChanged<bool> onChange;
  final Color? color;
  final Color defaultCorol;
  const LoginProtocol(
      {Key? key,
      required this.onChange,
      this.color =  Colors.black87,
      this.defaultCorol = ThemeColor.colorBlack40})
      : super(key: key);

  @override
  _LoginProtocolState createState() => _LoginProtocolState();
}

class _LoginProtocolState extends State<LoginProtocol> {
  bool _agree = false;

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      behavior: HitTestBehavior.opaque,
      onTap: () {
        setState(() {
          _agree = !_agree;
          widget.onChange(_agree);
        });
      },
      child: Row(
        children: [
          Icon(
            _agree ? Icons.check_circle : Icons.circle_outlined,
            color: _agree ? ThemeColor.primaryColor : widget.defaultCorol,
            size: 14,
          ),
          SizedBox(
            width: 6,
          ),
          Expanded(
              child: Text.rich(
            textAlign: TextAlign.start,
            style: TextStyle(
              fontSize: 14,
              color: widget.color,
            ),
            TextSpan(children: [
              TextSpan(
                text: S.of(context).privacy_policy_consent_1,
              ),
              TextSpan(
                text: S.of(context).privacy_policy_consent_2,
                // style: TextStyle(
                //   color: widget.color,
                //   fontSize: 12,
                // ),
                recognizer: TapGestureRecognizer()
                  ..onTap = () {
                    Navigator.of(context).push(MaterialPageRoute(
                        builder: (ctx) => WebProtocolDetailPage(
                            GlobalData.privacyUrl(context))));
                  },
              ),
              TextSpan(
                text: S.of(context).privacy_policy_consent_3,
              ),
              TextSpan(
                text: S.of(context).privacy_policy_consent_4,
                recognizer: TapGestureRecognizer()
                  ..onTap = () {
                    Navigator.of(context).push(MaterialPageRoute(
                        builder: (ctx) => WebProtocolDetailPage(
                            GlobalData.userAgreeUrl(context))));
                  },
              ),
            ]),
          ))
        ],
      ),
      // behavior: HitTestBehavior.opaque,
      // child: Container(
      //   alignment: Alignment.centerLeft,
      //   // color: Colors.amber,
      //   child: Text.rich(
      //     textAlign: TextAlign.start,
      //     style: TextStyle(
      //       fontSize: 14,
      //       color: widget.color,
      //     ),
      //     TextSpan(children: [
      //       WidgetSpan(
      //           child: Padding(
      //         padding: EdgeInsets.only(right: 8),
      //         child: _agree
      //             ? Icon(
      //                 Icons.check_circle,
      //                 color: ThemeColor.primaryColor,
      //                 size: 14,
      //               )
      //             : Icon(
      //                 Icons.circle_outlined,
      //                 color: widget.color,
      //                 size: 14,
      //               ),
      //       )),
      //       TextSpan(
      //         text: S.of(context).privacy_policy_consent_1,
      //       ),
      //       TextSpan(
      //         text: S.of(context).privacy_policy_consent_2,
      //         // style: TextStyle(
      //         //   color: widget.color,
      //         //   fontSize: 12,
      //         // ),
      //         recognizer: TapGestureRecognizer()
      //           ..onTap = () {
      //             Navigator.of(context).push(MaterialPageRoute(
      //                 builder: (ctx) => WebProtocolDetailPage(
      //                     GlobalData.privacyUrl(context))));
      //           },
      //       ),
      //       TextSpan(
      //         text: S.of(context).privacy_policy_consent_3,
      //       ),
      //       TextSpan(
      //         text: S.of(context).privacy_policy_consent_4,
      //         recognizer: TapGestureRecognizer()
      //           ..onTap = () {
      //             Navigator.of(context).push(MaterialPageRoute(
      //                 builder: (ctx) => WebProtocolDetailPage(
      //                     GlobalData.userAgreeUrl(context))));
      //           },
      //       ),
      //     ]),
      //   ),
      // )
    );
  }
}
